/*
	Copyright (c) 2011 Andrey O. Zbitnev (azbitnev@gmail.com)
	Licensed under the MIT License (LICENSE).

	Project home: http://code.google.com/p/red-sparkle/

	$Id$
*/

/*
----------------------------------------------------------------
	Reset all
----------------------------------------------------------------
*/

* {
	font-family: inherit;
	font-weight: inherit;
}

html {
	font-family: "Verdana", "Sans-Serif";
}

code, tt {
	font-family: Consolas, "Courier New", Courier, monospace;
}

pre, code {
	white-space: pre;
	overflow: auto;
}

h4, h5, h6, b, th {
	font-weight: bold;
}

h1, h2, h3, h4, h5, h6, p {
	margin: 1em 0;
}

body, div, table, td, th, img, form {
	padding: 0;
	margin: 0;
	border: 0;
	outline: 0;
}

table {
	border-spacing: 0;
	border-collapse: collapse;
}

td, th {
	text-align: left;
}

blockquote {
	display: block;
	margin: 1em;
	border-left: 4px solid;
	font-style: italic;
}

cite {
	font-style: italic;
}

*:lang(de) q { quotes: "\201E" "\201C"; }
*:lang(en) q { quotes: "\201C" "\201D"; }
*:lang(fr) q, html:lang(ru) q { quotes: "\00AB" "\00BB"; }

q:lang(de) { quotes: "\201E" "\201C" !important; }
q:lang(en) { quotes: "\201C" "\201D" !important; }
q:lang(fr), q:lang(ru) { quotes: "\00AB" "\00BB" !important; }

dl { margin: 0; }
dt { font-weight: bold; }
dd { margin: 1em 0 1em 2em; }

em, dfn { font-style: italic; }

hr {
	border: 0;
	border-top: 1px solid;
	margin: 1em 0;
}

/*
----------------------------------------------------------------
	Forms
----------------------------------------------------------------
*/

form {
	line-height: 1.6;
}

input.field {
	border: 1px solid;
	outline: 1px solid transparent;
	margin-top: 2px;
	margin-bottom: 3px;
}

textarea {
	border: 1px solid;
	outline: 1px solid transparent;
	margin-top: 2px;
	margin-bottom: 3px;
	overflow: auto;
}

button {
	border: 1px solid;
	background: #ebebe4 url() 0 0 repeat-x;
	cursor: pointer;
	font-weight: normal;
	border-radius: 3px;
}

select {
	border: 1px solid;
	outline: 0;
	margin-top: 2px;
	margin-bottom: 3px;
}

fieldset {
	border: 1px solid #ccc;
}

/*
----------------------------------------------------------------
	Sizes
----------------------------------------------------------------
*/

body { font-size: 14px; line-height: 1.5; }

h1 { font-size: 1.85em; }
h2 { font-size: 1.43em; }
h3 { font-size: 1.28em; }
h4 { font-size: 1.14em; }
h5 { font-size: 1.07em; }
h6 { font-size: 1em; }

small { font-size: 0.85em; }
blockquote { font-size: 0.85em; padding: 0.5em 0 0.5em 1em; }
cite { font-size: 0.85em; }

.controls input.field { height: 1.82em; width: 200px; font-size: 1em; padding: 0.18em 0.6em; }
.controls select { height: 2.25em; padding: 0.18em 0.18em 0.18em 0.6em; font-size: 1em; }
.controls button { font-size: 0.85em; height: 2.6em; padding: 0.07em 0.75em; }
.controls textarea { font-size: 1em; width: 300px; height: 10.1em; padding: 0.18em 0.6em; }

sup { font-size: 0.75em; }
sub { font-size: 0.75em; }

td, th { padding: 0.25em 0.5em; }

/*
----------------------------------------------------------------
	Utils
----------------------------------------------------------------
*/

.unselectable {
    -webkit-user-select: none;
     -khtml-user-select: none;
       -moz-user-select: -moz-none;
        -ms-user-select: none;
         -o-user-select: none;
    user-select: none;
}

div.clear {
	clear: both;
	width: 0;
	height: 0;
	overflow: hidden;
	visibility: hidden;
	display: block;
}

div.spacer { clear: both; height: 1.43em; }

table.simple > tbody > tr > th, table.simple > tbody > tr > td {
	border-width: 1px;
	border-style: solid;
}

table.soft > tbody > tr > th, table.soft > tbody > tr > td {
	border: 0;
	font-weight: normal;
}

table.soft > tbody > tr > th, table.soft > tbody > tr > td {
	border-bottom: 1px solid;
}

table.layout > tbody > tr > th, table.layout > tbody > tr > td {
	border: 0;
	padding: 0;
}

table.form > tbody > tr > th { padding-right: 0.5em; font-weight: normal; text-align: right; }
table.form > tbody > tr > td, table.form > tbody > tr > th { padding-top: 0.25em; padding-bottom: 0.25em; }

table.vtop > tbody > tr > th, .vtop > tbody > tr > td { vertical-align: top; }

.left {
	display: block;
	float: left;
}

.right {
	display: block;
	float: right;
}

.margin { margin: 1em; }
.margin-left { margin-left: 1em; }
.margin-right { margin-right: 1em; }
.margin-top { margin-top: 1em; }
.margin-bottom { margin-bottom: 1em; }
.margin-vertical { margin: 1em 0; }
.margin-horizontal { margin: 0 1em; }

.border {
	border: 2px solid;
	outline: 1px solid;
}

.border-shaded {
	border: 1px solid #DDD;
	border-top-color: #EEE;
}

.shaded {
	-webkit-box-shadow: 0 3px 6px #DDD;
	 -khtml-box-shadow: 0 3px 6px #DDD;
	   -moz-box-shadow: 0 3px 6px #DDD;
	    -ms-box-shadow: 0 3px 6px #DDD;
	     -o-box-shadow: 0 3px 6px #DDD;
	box-shadow: 0 3px 6px #DDD;
}

.stroked {
	background: url();
}

.wide { width: 100%; }
.half { width: 50%; }
.qr { width: 25%; }

.center { text-align: center; }
.justify { text-align: justify; }

.hidden { display: none !important; }
.invisible { visibility: hidden !important; }

.red { color: #ff8080; }
.green { color: #00a800; }

ul.no-bullets > li, ol.no-bullets > li {
	list-style: none;
}

ul.nav-vertical {
	padding: 0;
}

ul.nav-vertical > li {
	border-left: 0.4em solid transparent;
	list-style: none;
	padding: 0.4em 1em 0.4em 2em;
	cursor: pointer;
}

ul.nav-vertical > li:hover {
	background: #eee;
}

ul.nav-vertical > li.current {
	border-left: 0.4em solid #ff8080;
	cursor: text;
}

ul.nav-vertical > li.current:hover {
	background: none;
}

ul.nav-vertical > li > a {
	color: #666;
	text-decoration: none;
	display: block;
}

ul.nav-vertical > li.current > a {
	color: #ff8080;
	font-weight: bold;
	cursor: text;
}

a.external {
	background: url() center right no-repeat;
	padding-right: 13px;
}

a.email {
	background: url() center right no-repeat;
	padding-right: 13px;
}

a.pdf {
	background: url() center right no-repeat;
	padding-right: 20px;
}

a.zip {
	background: url() center right no-repeat;
	padding-right: 20px;
}

a.doc {
	background: url() center right no-repeat;
	padding-right: 20px;
}

a.xls {
	background: url() center right no-repeat;
	padding-right: 20px;
}

.shaded-controls input.field:hover, .shaded-controls textarea:hover, .shaded-controls select:hover {
	-webkit-box-shadow: 0px 0px 4px #e5e5e5;
	 -khtml-box-shadow: 0px 0px 4px #e5e5e5;
	   -moz-box-shadow: 0px 0px 4px #e5e5e5;
	    -ms-box-shadow: 0px 0px 4px #e5e5e5;
	     -o-box-shadow: 0px 0px 4px #e5e5e5;
	box-shadow: 0px 0px 4px #e5e5e5;
}

.shaded-controls button:hover {
	-webkit-box-shadow: 0 0 4px #d6d6d6;
	 -khtml-box-shadow: 0 0 4px #d6d6d6;
	   -moz-box-shadow: 0 0 4px #d6d6d6;
	    -ms-box-shadow: 0 0 4px #d6d6d6;
	     -o-box-shadow: 0 0 4px #d6d6d6;
	box-shadow: 0 0 4px #d6d6d6;
}

.shaded-controls input.field:focus, .shaded-controls textarea:focus, .shaded-controls select:focus {
	-webkit-box-shadow: 0px 0px 4px #ea0;
	 -khtml-box-shadow: 0px 0px 4px #ea0;
	   -moz-box-shadow: 0px 0px 4px #ea0;
	    -ms-box-shadow: 0px 0px 4px #ea0;
	     -o-box-shadow: 0px 0px 4px #ea0;
	box-shadow: 0px 0px 4px #ea0;
}

.shaded-controls input.error, .shaded-controls textarea.error, .shaded-controls select.error {
	-webkit-box-shadow: 0px 0px 4px #eaa;
	 -khtml-box-shadow: 0px 0px 4px #ea0;
	   -moz-box-shadow: 0px 0px 4px #eaa;
	    -ms-box-shadow: 0px 0px 4px #ea0;
	     -o-box-shadow: 0px 0px 4px #ea0;
	box-shadow: 0px 0px 4px #eaa;
}

.shaded-controls input.error:hover, .shaded-controls textarea.error:hover, .shaded-controls select.error:hover {
	-webkit-box-shadow: 0px 0px 4px #e66;
	 -khtml-box-shadow: 0px 0px 4px #e66;
	   -moz-box-shadow: 0px 0px 4px #e66;
	    -ms-box-shadow: 0px 0px 4px #e66;
	     -o-box-shadow: 0px 0px 4px #e66;
	box-shadow: 0px 0px 4px #e66;
}

button.default {
	font-weight: bold;
}

ul.bread-crumbs {
	list-style-type: none;
	padding: 0;
	margin: 1em 0;
}

ul.bread-crumbs {
	height: 2.4em;
	border: 1px solid #eee;
}

ul.bread-crumbs > li {
	float: left;
	line-height: 2.4em;
	padding-left: 0.8em;
}

ul.bread-crumbs > li > a {
	background: url() no-repeat right center;
	display: block;
	padding: 0 1.4em 0 0;
}

/*
----------------------------------------------------------------
	Colors
----------------------------------------------------------------
*/

* { color: inherit; }

html { background: #fff; color: #333; }

h3, h4, h5 { color: #666; }
h6 { color: #999; }

a { color: #588fe5; }
a:hover { color: #05c; }
em { color: #ff8080; }
b { color: #666; }

small { color: #999; }

blockquote { border-left-color: #ccc; }

dt { color: #666; }

dfn { color: #00a800; }

hr { border-top-color: #ddd; }

td, th { border-color: #ccc; }

input.field { border-color: #e9e9e9; color: #666; }
input.field:hover { border-color: #d9d9d9; }

textarea { border-color: #e9e9e9; color: #666; }
textarea:hover { border-color: #d9d9d9; }

select { border-color: #e9e9e9; color: #666; }
select:hover { border-color: #d9d9d9; }

button {
	border-color: #ccc;
	border-top-color: #eee;
	border-left-color: #eee;
	color: #666;
	text-shadow: #999 0 0 1px;
}

button:hover {
	border-color: #bbb;
	border-top-color: #ddd;
	border-left-color: #ddd;
}

button[disabled]:hover {
	border-color: #ccc;
	border-top-color: #eee;
	border-left-color: #eee;
}

button[disabled] {
	color: #ccc;
	text-shadow: #fff 0 0 1px;
}

table.soft > tbody > tr > th { border-bottom-color: #ccc; background-color: #eee; color: #666; }
table.soft > tbody > tr > td { border-bottom-color: #ccc; }

table.hl tr:hover { background-color: #f2f2f2; }

.border {
	border-color: white;
	outline-color: #e0e0e0;
}

a:hover .border {
	outline-color: silver;
}
